﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using bibliotecaWPF.LogicaNegocio;

namespace bibliotecaWPF.Presentacion
{
    /// <summary>
    /// Lógica de interacción para Feditar.xaml
    /// </summary>
    public partial class Feditar : Window
    {
        public Feditar()
        {
            InitializeComponent();
        }
        //variables
        bool estado,campo;
        bool busco=false;
        string titulo;
        private void btn_buscar_Click(object sender, RoutedEventArgs e)
        {
            titulo = tb_buscar.Text;
            var libro = ManejaLibros.consulta(titulo);//llamo a la funcion consulta
            if (libro != null)
            {
                var ejemp = ManejaLibros.buscaej(libro.idLibro);
                tb_titulo.Text = libro.Titulo;
                tb_autor.Text = libro.Autor;
                tb_año.Text = Convert.ToString(libro.Año);
                cb_categoria.Text = libro.Categoria.dCategoria;
                tb_cantidad.Text = Convert.ToString(ejemp.Cantidad);
                busco = true;

            }
            else
            {
                MessageBox.Show("Libro no encontrado", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }

        private void btn_editar_Click(object sender, RoutedEventArgs e)
        {            
            if (busco != false)
            {
                camvacio();//validar campo vacio
                if (campo != false)
                {
                    try//intenta convertir año y cantidad en enteros
                    {
                        int año = Convert.ToInt32(tb_año.Text);
                        int can = Convert.ToInt32(tb_cantidad.Text);
                        estado = true;
                    }
                    catch (FormatException)
                    {
                        estado = false;
                        MessageBox.Show("Año y Cantidad deben ser numeros enteros", "Formato invalido", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                    if (estado != false)
                    {
                        ManejaLibros.editarl(titulo, tb_titulo.Text, tb_autor.Text, tb_año.Text, tb_cantidad.Text);
                        MessageBox.Show("El libro ha sido modificado", "Aviso", MessageBoxButton.OK, MessageBoxImage.Information);
                        limpiar();
                        estado = false;
                        busco = false;
                    }
                }
                }
            
            else
            {
                MessageBox.Show("Antes de Modificar debe seleccionar un libro", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
        //metodo limpiar
        public void limpiar()
        {
            tb_buscar.Text="";
            tb_titulo.Text = "";
            tb_autor.Text = "";
            tb_año.Text = "";
            tb_cantidad.Text = "";
            cb_categoria.Text = "";
        }
        //campo vacio
        public void camvacio()
        {
            if (tb_titulo.Text == "" || tb_autor.Text == "" || tb_año.Text == "" || tb_cantidad.Text == "" || cb_categoria.Text == "")
            {
                MessageBox.Show("Debe llenar todos los campos", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            else
            {
                campo = true;
            }
        }
    }


}
